package com.itHuangTao.tank;

import javafx.geometry.Point2D;
import javafx.util.Duration;
import java.util.List;

//游戏的基本数据配置
public interface Config {
    //接口默认这里的类型为public static final 数据类型
    int CELL_SIZE = 24;//窗口的格子数（一行或一列）
    int TANK_MOVE_SPEED = 150;//坦克移动速度
    int BULLET_SPEED = 400;//子弹的移动速度

    Duration SHOOT_DELAY = Duration.seconds(0.35);//给一个时间间隔(射击的时间间距)
    Duration EXPLODE_TIME = Duration.seconds(0.35);//爆炸被移除的时间间隔
    Duration FREEZE_ENEMY_TIME = Duration.seconds(6);//敌人冻结6秒
    Duration FREEZE_PLAYER_TIME = Duration.seconds(4);//玩家冻结4秒
    Duration HELMET_TIME = Duration.seconds(10);//我方坦克无敌10秒
    Duration SHIP_TIME = Duration.seconds(15);//轮船能维持的时长15秒
    Duration REINFORCE_TIME = Duration.seconds(15);//加固基地墙体时间15秒
    int MAX_HP = 5;//我方坦克的血条
    int TANK_MAX_LEVEL = 2;//坦克的最大等级
    int MAX_LEVEL = 8;//设置最大关卡为8关
    int PropCountMax = 7;//全场道具最多同时只能出现7个

    //创建基地的保护墙坐标集合
    List<Point2D> POINTS = List.of(
            new Point2D(288, 600),
            new Point2D(312, 600),
            new Point2D(336, 600),
            new Point2D(360, 600),
            new Point2D(288, 624),
            new Point2D(360, 624),
            new Point2D(288, 648),
            new Point2D(360, 648)
    );

    //设定敌方坦克产生的三个位置坐标数组
    Point2D[] SPAWN_ENEMY_POSITION = new Point2D[]{
            new Point2D(30, 30),
            new Point2D(330, 30),
            new Point2D(630, 30)};
}
